Ultra VGA Engine
''Ultra VGA Engine ''is a graphics library that's been powering all of InterAction studios' games except the oldest ones. Contents History ''VGA Engine'' Official name: VGA Engine for Pascal The history of UVE traces back to the mid-90's when the first iteration of it was made. It was called the VGA Engine, which was made for the Pascal and worked only on the DOS operating system. This engine was inspired by another one from the DOS days, called ANIVGA. Other versions of this iteration followed suit, with VGA Engine 2 and VGA Engine 3. The VGA Engines stored their sound in the SoundBlaster audio format, and sprites in formats called .uvs, .pal and .uvl. The only games confirmed to have been made on those iterations of the engine are Radar Wars Gold,BattleTank, Tom Risk, and the first Cherrymania. Adventures of Mrs. Piggly, Jasteroids, Knights and Lords, Jasna, Doom Kombat, Mach 9.9, and Blogbash might've been also made on these. ''UVE32'' Official name: Ultra VGA Engine 32-bit The next major upgrade came in form of Ultra VGA Engine 32-bit in 1995. As for its name, the "Ultra" was added in so that it's libraries are distinguished from its precursors, the VGA Engines. It was still in Pascal and for DOS, but now it was rewritten purely from scratch, and was not based on any existing library. It was able to support 32 bit operations, even though they weren't utilized in the games made on it because of the compiler. The most important thing about this iteration of UVE is that it was the only one to be released publicly, with a link here. It was released in two versions - the shareware one and the registered one. The shareware one had some of its features stripped, and was only usable for 21 days before you had to buy the registered version. The only technical stuff we know about this version is that it stored backgrounds as Personal Computer Exchange files and sounds in the SoundBlaster audio format, which were packed in an UVE WAD file, and the resolution of the games was always 320x200, which is the default DOS resolution. The last known version of UVE32 is version 1.40, which has been released around January 1997. Games confirmed to have been made using UVE32 are Radar Wars Arcade, Cherrymania 2, Cobra, Cobra 2, M99, and F16. There also has been a demo program showing off the capabilities of this iteration. ''UVE++'' Official name: Ultra VGA Engine for C++ This iteration was made around 1997. It was written in C++ instead of Pascal, but it still was only for DOS. It was both conceptually and technically superior, however it wasn't used for many games, aside from a certain interesting thing - an early "quick & dirty" version of Chicken Invaders. Since then, the game was either remade or finished on UVE's next iteration. ''UveDX'' Official name: Ultra VGA Engine for DirectX 7.0 Being introduced around 1999, Ultra VGA Engine DX might be the most known of the earlier iterations to us, since it has been used at release for the first two Chicken Invaders games, the first Island Wars!, and the ill-fated Piggly 2. It was the first iteration to move from DOS to Windows, and the first one to work on DirectX (starting with 6.0 and 6.1, later on supported 7.0). The resolution has also been upgraded to 640x480, and the engine now stored sounds as wave form audio format files, and sprites and backgrounds as bitmaps. Other than that, it was fundamentally the same thing as the previous iterations but with DirectX's advantages. The Debug Modes in earlier builds of UveDX were only sometimes included (Chicken Invaders had it but Island Wars! didn't), and they were triggered through pressing F9 and F10 at once, while later on they had to be enabled through the config file. ''UveDX8'' Official name: Ultra VGA Engine for DirectX 8.1 Debuting with the release of Island Wars 2 in late 2004, this version was a major upgrade from UveDX, being a complete rewrite for Visual Studio and DirectX 8.0. It also used the "looks-like-2d-but-it's-infact-3d" technique, as in everything was rendered as 3D, but it looked like 2D. Since this version of the engine, the sounds have been stored as OGG Vorbis files while the sprites were stored as uncompressed TGA files. Since stuff could be rotated, scaled and bent in 3D, the games no longer had many sprites. The fact that multiple animation frames were able to be stored in one file instead of multiple also contributed to this. Another thing that has been changed is that the native resolution of the games was upgraded to 800x600. Games made using this engine at release include Island Wars 2, Loco, Smileyville, Piggly and Revenge of the Yolk. At first the debug modes were triggered like in UveDX, but with the release of Revenge of the Yolk, you now had to put in a specific debug code to make it work. An unfinished Debug Console was also included in this version. ''UveXX'' Official name: Ultra VGA Engine for OpenGL Debuting in 2009 with Christmas Eve Crisis, this version of UVE was the only one from the newer versions since UveDX''to use OpenGL instead of DirectX. It's also the first one to be ported over to Mac and Linux. Even though this version was able to handle bigger resolutions as proven by the remastered edition of ''The Next Wave's native resolution being 1280x960, most of the games still used 800x600. Other games made using this engine at release include Ultimate Omelette, and the remastered edition of The Next Wave. The debug console was still included in this version until the release of Ultimate Omelette, where it was removed. ''UveUDX'' Official name: Ultra VGA Engine for DirectX 8.1 Ultra Edition Having surfaced in 2013, this iteration of UVE seems like it was a rollback to UveDX8 as it's using DirectX 8.0 and it has been only used at release for Cluck of the Dark Side. However, this version also got some improvements with the Ultra features, such as double-resolution graphics (making the native resolution of IA's games now 1600x960, with the ratio 5:3), instant loading, widescreen support, touchscreen support, better navigation on menus, Unicode support and smaller stuff like a mute option in-game, and the in-game languages being able to be changed without having to restart the game. This iteration of the engine was also the first one to include integration with Valve's Steam platform for versions of InterAction studios' games on it. ''UveUDX9'' Official name: Ultra VGA Engine for DirectX 9.0c Ultra Edition Introduced in 2015, this iteration can be basically considered the same thing as UveUDX because of this just being a recompilation of it in DirectX 9.0c since 8.1 became obsolete. Universe will be likely made in it. The most recent known build of UveUDX9 is from November 26th, 2016. Ports Ultra VGA Engine has been also ported over to numerous platforms, each with their own branch, such as UveAndroid, UveiOS, UveWP (for Windows Phones), UveFlash, UveWin8 (for the Windows Store) and so on. Some of them also store data in different formats, for example UveAndroid uses a different format for textures. Technical information Ultra VGA Engine since its earliest iteration has been a graphical API and game engine that utilizes the SVGA graphics mode. It was based on various engines including Turbo Pascal, Visual Studio, OpenGL, and various versions of DirectX. The newest iteration uses DirectX 9.0c. The engine uses the uncompressed Truevision TGA format to store its sprites (because it compresses better than PNGs in the installers and because they are lossless), and the OGG Vorbis format to store sounds. JPEGs are also used for stuff such as backgrounds and textures for 3D models. Although the Ultra VGA Engine has capacity for using 3D models, InterAction studios hardly ever utilizes them in their games. They most often see their use when it comes to doing special effects, such as the water effect in the Epsilon Thalassus chapter in Cluck of the Dark Side, and for ground, which has been so far used for Cluck for the Dark Side, Piggly and Christmas Eve Crisis. Although 3D models hardly ever see their use, 3D still has its benefits. With it, sprites are allowed to be scaled, bent and rotated on the fly. ''Particle Flux Technology'' Particle Flux Technology is a sprite-based graphics API, having been first used for UVE32. From what we know, it was used in first Chicken Invaders, The Next Wave and Island Wars!. It was used for the sprites and animations of explosions and bullets. ''Arcade Engine'' Note: No logo was made for it that is still available. Arcade Engine is an add-on for UveDX which can do special effects like multi-sprites, enemy damage feedback and maximum frame rate under all conditions to recreate the arcade experience. It was planned to be used for the unreleased Piggly 2, though the only time it has seen usage was with The Next Wave. ''NatUVE'' ''NatUVE ''is a graphics API used for vegetation deformation and making realistic-looking plants. It has been used in many games, like Island Wars 2 and Piggly, and possibly Chicken Invaders: Cluck of the Dark Side. Download Shareware version http://www.interactionstudios.com/files/UVE140.ZIP Registered version http://www.interactionstudios.com/files/UVE140R.ZIP